package com.ym.b2b.ws.service;

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;

import org.apache.cxf.annotations.WSDLDocumentation;

@WebService
@SOAPBinding(style = Style.RPC)
// jdk 1.6u17以上版本可不加
public interface CustomerService {

    @WebMethod
    @WSDLDocumentation("用户登陆 @userName 登陆名 @password 密码 返回值：")
    String login(@WebParam(name = "userName")
    String userName, @WebParam(name = "password")
    String password);

    @WebMethod
    @WSDLDocumentation("获取产品列表  返回List<EmBProduct> 列表")
    String getProductListForJosn(@WebParam(name = "searchWhere")
    String searchWhere, @WebParam(name = "searchType")
    String searchType, @WebParam(name = "orderBy")
    String orderBy, @WebParam(name = "typeCode")
    String typeCode, @WebParam(name = "buyerCode")
    String buyerCode, @WebParam(name = "userType")
    String userType, @WebParam(name = "childID")
    String childID, @WebParam(name = "vipFlag")
    String vipFlag, @WebParam(name = "areaCode")
    String areaCode, @WebParam(name = "page")
    String page, @WebParam(name = "pageSize")
    String pageSize);

    @WebMethod
    @WSDLDocumentation("获取产品详情  productCode商品编号  获取EmBProduct intrasduction说明书 质检单quantyFile ")
    String getProductDetailForJosn(@WebParam(name = "productCode")
    String productCode, @WebParam(name = "buyerCode")
    String buyerCode, @WebParam(name = "userType")
    String userType, @WebParam(name = "areaCode")
    String areaCode);

    @WebMethod
    @WSDLDocumentation("获取订单列表")
    String getOrderListForJson(@WebParam(name = "beginDate")
    String beginDate, @WebParam(name = "endDate")
    String endDate, @WebParam(name = "buyerCode")
    String buyerCode, @WebParam(name = "childID")
    String childID, @WebParam(name = "beginStatus")
    String beginStatus, @WebParam(name = "endStatus")
    String endStatus, @WebParam(name = "page")
    String page, @WebParam(name = "pageSize")
    String pageSize);

    @WebMethod
    @WSDLDocumentation("获取订单详情")
    String getOrderDetailForJson(@WebParam(name = "orderCode")
    String orderCode);

    @WebMethod
    @WSDLDocumentation("获取资讯列表")
    String getNewsListForJosn(@WebParam(name = "typeName")
    String typeName, @WebParam(name = "searchTitle")
    String searchTitle, @WebParam(name = "page")
    String page, @WebParam(name = "pageSize")
    String pageSize);

    @WebMethod
    @WSDLDocumentation("获取资讯明细")
    String getNewsDetailForJosn(@WebParam(name = "newsId")
    String newsId, @WebParam(name = "mobileType")
    String mobileType);

    @WebMethod
    @WSDLDocumentation("意见反馈")
    String addSuggestForJosn(@WebParam(name = "suggestContent")
    String suggestContent, @WebParam(name = "connectPhone")
    String connectPhone, @WebParam(name = "userId")
    String buyerCode, @WebParam(name = "type")
    String type);

    @WebMethod
    @WSDLDocumentation("购物车列表")
    String getShoppingCartDetailForJosn(@WebParam(name = "buyerCode")
    String buyerCode);

    @WebMethod
    @WSDLDocumentation("购物车生成订单")
    String getShoppingCartDetailForOrderForJosn(@WebParam(name = "isSelectAll")
    String isSelectAll, @WebParam(name = "shoppingCartIdStr")
    String shoppingCartIdStr, @WebParam(name = "mobileType")
    String mobileType, @WebParam(name = "buyerCode")
    String buyerCode, @WebParam(name = "userType")
    String userType, @WebParam(name = "childID")
    String childID, @WebParam(name = "vipFlag")
    String vipFlag, @WebParam(name = "areaCode")
    String areaCode);

    @WebMethod
    @WSDLDocumentation(" 生成订单")
    String sureForOrderForJosn(@WebParam(name = "buyerAddressId")
    String buyerAddressId, @WebParam(name = "mobileType")
    String mobileType, @WebParam(name = "buyerCode")
    String buyerCode);

    @WebMethod
    @WSDLDocumentation(" 取消订单")
    String cancelOrderForJosn(@WebParam(name = "orderCode")
    String orderCode);

    @WebMethod
    @WSDLDocumentation("加入购物车")
    String addToCatForJson(@WebParam(name = "productCode")
    String productCode, @WebParam(name = "amount")
    String amount, @WebParam(name = "buyerCode")
    String buyerCode);

    @WebMethod
    @WSDLDocumentation("修改购物车数量")
    String updateAmountToCatForJson(@WebParam(name = "shoppingCartId")
    String shoppingCartId, @WebParam(name = "amount")
    String amount, @WebParam(name = "buyerCode")
    String buyerCode);

    @WebMethod
    @WSDLDocumentation("删除购物车商品")
    String deleteProductToCatForJson(@WebParam(name = "shoppingCartIdAll")
    String shoppingCartIdAll, @WebParam(name = "buyerCode")
    String buyerCode);

    @WebMethod
    @WSDLDocumentation("加入收藏")
    String addFavoriteForJosn(@WebParam(name = "productCode")
    String productCode, @WebParam(name = "userId")
    String userId);

    @WebMethod
    @WSDLDocumentation("取消收藏")
    String removeFavoriteForJosn(@WebParam(name = "favoritesId")
    String favoritesId);
}
